﻿using System;
using System.Collections.Generic;
using System.ServiceModel;
using Entidades;

namespace ServicioEvaluacion
{
	public class TiposEstado : ITiposEstado
	{
		#region Agregar Tipo Estado

		public bool Agregar(TipoEstado nuevoTipoEstado)
		{
			bool resultado = false;
			try
			{
				LogicaDeNegocios.TiposEstado te = new LogicaDeNegocios.TiposEstado();
				resultado = te.Agregar(nuevoTipoEstado);
			}
			catch (Exception ex)
			{
				throw new FaultException(FallaEvaluacion.ObtenerCausa(ex));
			}
			return resultado;
		}

		#endregion

		#region Modificar Tipo Estado

		public bool Modificar(TipoEstado tipoEstadoAModificar)
		{
			bool resultado = false;
			try
			{
				LogicaDeNegocios.TiposEstado te = new LogicaDeNegocios.TiposEstado();
				resultado = te.Modificar(tipoEstadoAModificar);
			}
			catch (Exception ex)
			{
				throw new FaultException(FallaEvaluacion.ObtenerCausa(ex));
			}
			return resultado;
		}

		#endregion

		#region Eliminar Tipo Estado

		public bool Eliminar(TipoEstado tipoEstadoAEliminar)
		{
			bool resultado = false;
			try
			{
				LogicaDeNegocios.TiposEstado te = new LogicaDeNegocios.TiposEstado();
				resultado = te.Eliminar(tipoEstadoAEliminar);
			}
			catch (Exception ex)
			{
				throw new FaultException(FallaEvaluacion.ObtenerCausa(ex));
			}
			return resultado;
		}

		#endregion

		#region Listar Tipo Estado(s)

		public List<TipoEstado> Listar(byte codigo = 0)
		{
			List<TipoEstado> resultado = null;
			try
			{
				LogicaDeNegocios.TiposEstado te = new LogicaDeNegocios.TiposEstado();
				resultado = te.Listar(codigo);
			}
			catch (Exception ex)
			{
				throw new FaultException(FallaEvaluacion.ObtenerCausa(ex));
			}
			return resultado;
		}

		#endregion
	}
}
